{"ast":null,"code":"/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function () {\n    'use strict';\n\n    /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n    if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart === 'function') {\n      __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n    }\n    var enableSchedulerDebugging = false;\n    var enableProfiling = false;\n    var frameYieldMs = 5;\n    function push(heap, node) {\n      var index = heap.length;\n      heap.push(node);\n      siftUp(heap, node, index);\n    }\n    function peek(heap) {\n      return heap.length === 0 ? null : heap[0];\n    }\n    function pop(heap) {\n      if (heap.length === 0) {\n        return null;\n      }\n      var first = heap[0];\n      var last = heap.pop();\n      if (last !== first) {\n        heap[0] = last;\n        siftDown(heap, last, 0);\n      }\n      return first;\n    }\n    function siftUp(heap, node, i) {\n      var index = i;\n      while (index > 0) {\n        var parentIndex = index - 1 >>> 1;\n        var parent = heap[parentIndex];\n        if (compare(parent, node) > 0) {\n          // The parent is larger. Swap positions.\n          heap[parentIndex] = node;\n          heap[index] = parent;\n          index = parentIndex;\n        } else {\n          // The parent is smaller. Exit.\n          return;\n        }\n      }\n    }\n    function siftDown(heap, node, i) {\n      var index = i;\n      var length = heap.length;\n      var halfLength = length >>> 1;\n      while (index < halfLength) {\n        var leftIndex = (index + 1) * 2 - 1;\n        var left = heap[leftIndex];\n        var rightIndex = leftIndex + 1;\n        var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n        if (compare(left, node) < 0) {\n          if (rightIndex < length && compare(right, left) < 0) {\n            heap[index] = right;\n            heap[rightIndex] = node;\n            index = rightIndex;\n          } else {\n            heap[index] = left;\n            heap[leftIndex] = node;\n            index = leftIndex;\n          }\n        } else if (rightIndex < length && compare(right, node) < 0) {\n          heap[index] = right;\n          heap[rightIndex] = node;\n          index = rightIndex;\n        } else {\n          // Neither child is smaller. Exit.\n          return;\n        }\n      }\n    }\n    function compare(a, b) {\n      // Compare sort index first, then task id.\n      var diff = a.sortIndex - b.sortIndex;\n      return diff !== 0 ? diff : a.id - b.id;\n    }\n\n    // TODO: Use symbols?\n    var ImmediatePriority = 1;\n    var UserBlockingPriority = 2;\n    var NormalPriority = 3;\n    var LowPriority = 4;\n    var IdlePriority = 5;\n    function markTaskErrored(task, ms) {}\n\n    /* eslint-disable no-var */\n\n    var hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n    if (hasPerformanceNow) {\n      var localPerformance = performance;\n      exports.unstable_now = function () {\n        return localPerformance.now();\n      };\n    } else {\n      var localDate = Date;\n      var initialTime = localDate.now();\n      exports.unstable_now = function () {\n        return localDate.now() - initialTime;\n      };\n    } // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n    // Math.pow(2, 30) - 1\n    // 0b111111111111111111111111111111\n\n    var maxSigned31BitInt = 1073741823; // Times out immediately\n\n    var IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\n    var USER_BLOCKING_PRIORITY_TIMEOUT = 250;\n    var NORMAL_PRIORITY_TIMEOUT = 5000;\n    var LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\n    var IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\n    var taskQueue = [];\n    var timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\n    var taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\n    var currentTask = null;\n    var currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\n    var isPerformingWork = false;\n    var isHostCallbackScheduled = false;\n    var isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\n    var localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\n    var localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\n    var localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\n    var isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n    function advanceTimers(currentTime) {\n      // Check for tasks that are no longer delayed and add them to the queue.\n      var timer = peek(timerQueue);\n      while (timer !== null) {\n        if (timer.callback === null) {\n          // Timer was cancelled.\n          pop(timerQueue);\n        } else if (timer.startTime <= currentTime) {\n          // Timer fired. Transfer to the task queue.\n          pop(timerQueue);\n          timer.sortIndex = timer.expirationTime;\n          push(taskQueue, timer);\n        } else {\n          // Remaining timers are pending.\n          return;\n        }\n        timer = peek(timerQueue);\n      }\n    }\n    function handleTimeout(currentTime) {\n      isHostTimeoutScheduled = false;\n      advanceTimers(currentTime);\n      if (!isHostCallbackScheduled) {\n        if (peek(taskQueue) !== null) {\n          isHostCallbackScheduled = true;\n          requestHostCallback(flushWork);\n        } else {\n          var firstTimer = peek(timerQueue);\n          if (firstTimer !== null) {\n            requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n          }\n        }\n      }\n    }\n    function flushWork(hasTimeRemaining, initialTime) {\n      isHostCallbackScheduled = false;\n      if (isHostTimeoutScheduled) {\n        // We scheduled a timeout but it's no longer needed. Cancel it.\n        isHostTimeoutScheduled = false;\n        cancelHostTimeout();\n      }\n      isPerformingWork = true;\n      var previousPriorityLevel = currentPriorityLevel;\n      try {\n        if (enableProfiling) {\n          try {\n            return workLoop(hasTimeRemaining, initialTime);\n          } catch (error) {\n            if (currentTask !== null) {\n              var currentTime = exports.unstable_now();\n              markTaskErrored(currentTask, currentTime);\n              currentTask.isQueued = false;\n            }\n            throw error;\n          }\n        } else {\n          // No catch in prod code path.\n          return workLoop(hasTimeRemaining, initialTime);\n        }\n      } finally {\n        currentTask = null;\n        currentPriorityLevel = previousPriorityLevel;\n        isPerformingWork = false;\n      }\n    }\n    function workLoop(hasTimeRemaining, initialTime) {\n      var currentTime = initialTime;\n      advanceTimers(currentTime);\n      currentTask = peek(taskQueue);\n      while (currentTask !== null && !enableSchedulerDebugging) {\n        if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n          // This currentTask hasn't expired, and we've reached the deadline.\n          break;\n        }\n        var callback = currentTask.callback;\n        if (typeof callback === 'function') {\n          currentTask.callback = null;\n          currentPriorityLevel = currentTask.priorityLevel;\n          var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n          var continuationCallback = callback(didUserCallbackTimeout);\n          currentTime = exports.unstable_now();\n          if (typeof continuationCallback === 'function') {\n            currentTask.callback = continuationCallback;\n          } else {\n            if (currentTask === peek(taskQueue)) {\n              pop(taskQueue);\n            }\n          }\n          advanceTimers(currentTime);\n        } else {\n          pop(taskQueue);\n        }\n        currentTask = peek(taskQueue);\n      } // Return whether there's additional work\n\n      if (currentTask !== null) {\n        return true;\n      } else {\n        var firstTimer = peek(timerQueue);\n        if (firstTimer !== null) {\n          requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n        }\n        return false;\n      }\n    }\n    function unstable_runWithPriority(priorityLevel, eventHandler) {\n      switch (priorityLevel) {\n        case ImmediatePriority:\n        case UserBlockingPriority:\n        case NormalPriority:\n        case LowPriority:\n        case IdlePriority:\n          break;\n        default:\n          priorityLevel = NormalPriority;\n      }\n      var previousPriorityLevel = currentPriorityLevel;\n      currentPriorityLevel = priorityLevel;\n      try {\n        return eventHandler();\n      } finally {\n        currentPriorityLevel = previousPriorityLevel;\n      }\n    }\n    function unstable_next(eventHandler) {\n      var priorityLevel;\n      switch (currentPriorityLevel) {\n        case ImmediatePriority:\n        case UserBlockingPriority:\n        case NormalPriority:\n          // Shift down to normal priority\n          priorityLevel = NormalPriority;\n          break;\n        default:\n          // Anything lower than normal priority should remain at the current level.\n          priorityLevel = currentPriorityLevel;\n          break;\n      }\n      var previousPriorityLevel = currentPriorityLevel;\n      currentPriorityLevel = priorityLevel;\n      try {\n        return eventHandler();\n      } finally {\n        currentPriorityLevel = previousPriorityLevel;\n      }\n    }\n    function unstable_wrapCallback(callback) {\n      var parentPriorityLevel = currentPriorityLevel;\n      return function () {\n        // This is a fork of runWithPriority, inlined for performance.\n        var previousPriorityLevel = currentPriorityLevel;\n        currentPriorityLevel = parentPriorityLevel;\n        try {\n          return callback.apply(this, arguments);\n        } finally {\n          currentPriorityLevel = previousPriorityLevel;\n        }\n      };\n    }\n    function unstable_scheduleCallback(priorityLevel, callback, options) {\n      var currentTime = exports.unstable_now();\n      var startTime;\n      if (typeof options === 'object' && options !== null) {\n        var delay = options.delay;\n        if (typeof delay === 'number' && delay > 0) {\n          startTime = currentTime + delay;\n        } else {\n          startTime = currentTime;\n        }\n      } else {\n        startTime = currentTime;\n      }\n      var timeout;\n      switch (priorityLevel) {\n        case ImmediatePriority:\n          timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n          break;\n        case UserBlockingPriority:\n          timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n          break;\n        case IdlePriority:\n          timeout = IDLE_PRIORITY_TIMEOUT;\n          break;\n        case LowPriority:\n          timeout = LOW_PRIORITY_TIMEOUT;\n          break;\n        case NormalPriority:\n        default:\n          timeout = NORMAL_PRIORITY_TIMEOUT;\n          break;\n      }\n      var expirationTime = startTime + timeout;\n      var newTask = {\n        id: taskIdCounter++,\n        callback: callback,\n        priorityLevel: priorityLevel,\n        startTime: startTime,\n        expirationTime: expirationTime,\n        sortIndex: -1\n      };\n      if (startTime > currentTime) {\n        // This is a delayed task.\n        newTask.sortIndex = startTime;\n        push(timerQueue, newTask);\n        if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n          // All tasks are delayed, and this is the task with the earliest delay.\n          if (isHostTimeoutScheduled) {\n            // Cancel an existing timeout.\n            cancelHostTimeout();\n          } else {\n            isHostTimeoutScheduled = true;\n          } // Schedule a timeout.\n\n          requestHostTimeout(handleTimeout, startTime - currentTime);\n        }\n      } else {\n        newTask.sortIndex = expirationTime;\n        push(taskQueue, newTask);\n        // wait until the next time we yield.\n\n        if (!isHostCallbackScheduled && !isPerformingWork) {\n          isHostCallbackScheduled = true;\n          requestHostCallback(flushWork);\n        }\n      }\n      return newTask;\n    }\n    function unstable_pauseExecution() {}\n    function unstable_continueExecution() {\n      if (!isHostCallbackScheduled && !isPerformingWork) {\n        isHostCallbackScheduled = true;\n        requestHostCallback(flushWork);\n      }\n    }\n    function unstable_getFirstCallbackNode() {\n      return peek(taskQueue);\n    }\n    function unstable_cancelCallback(task) {\n      // remove from the queue because you can't remove arbitrary nodes from an\n      // array based heap, only the first one.)\n\n      task.callback = null;\n    }\n    function unstable_getCurrentPriorityLevel() {\n      return currentPriorityLevel;\n    }\n    var isMessageLoopRunning = false;\n    var scheduledHostCallback = null;\n    var taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n    // thread, like user events. By default, it yields multiple times per frame.\n    // It does not attempt to align with frame boundaries, since most tasks don't\n    // need to be frame aligned; for those that do, use requestAnimationFrame.\n\n    var frameInterval = frameYieldMs;\n    var startTime = -1;\n    function shouldYieldToHost() {\n      var timeElapsed = exports.unstable_now() - startTime;\n      if (timeElapsed < frameInterval) {\n        // The main thread has only been blocked for a really short amount of time;\n        // smaller than a single frame. Don't yield yet.\n        return false;\n      } // The main thread has been blocked for a non-negligible amount of time. We\n\n      return true;\n    }\n    function requestPaint() {}\n    function forceFrameRate(fps) {\n      if (fps < 0 || fps > 125) {\n        // Using console['error'] to evade Babel and ESLint\n        console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n        return;\n      }\n      if (fps > 0) {\n        frameInterval = Math.floor(1000 / fps);\n      } else {\n        // reset the framerate\n        frameInterval = frameYieldMs;\n      }\n    }\n    var performWorkUntilDeadline = function () {\n      if (scheduledHostCallback !== null) {\n        var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n        // has been blocked.\n\n        startTime = currentTime;\n        var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n        // error can be observed.\n        //\n        // Intentionally not using a try-catch, since that makes some debugging\n        // techniques harder. Instead, if `scheduledHostCallback` errors, then\n        // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n        var hasMoreWork = true;\n        try {\n          hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n        } finally {\n          if (hasMoreWork) {\n            // If there's more work, schedule the next message event at the end\n            // of the preceding one.\n            schedulePerformWorkUntilDeadline();\n          } else {\n            isMessageLoopRunning = false;\n            scheduledHostCallback = null;\n          }\n        }\n      } else {\n        isMessageLoopRunning = false;\n      } // Yielding to the browser will give it a chance to paint, so we can\n    };\n\n    var schedulePerformWorkUntilDeadline;\n    if (typeof localSetImmediate === 'function') {\n      // Node.js and old IE.\n      // There's a few reasons for why we prefer setImmediate.\n      //\n      // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n      // (Even though this is a DOM fork of the Scheduler, you could get here\n      // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n      // https://github.com/facebook/react/issues/20756\n      //\n      // But also, it runs earlier which is the semantic we want.\n      // If other browsers ever implement it, it's better to use it.\n      // Although both of these would be inferior to native scheduling.\n      schedulePerformWorkUntilDeadline = function () {\n        localSetImmediate(performWorkUntilDeadline);\n      };\n    } else if (typeof MessageChannel !== 'undefined') {\n      // DOM and Worker environments.\n      // We prefer MessageChannel because of the 4ms setTimeout clamping.\n      var channel = new MessageChannel();\n      var port = channel.port2;\n      channel.port1.onmessage = performWorkUntilDeadline;\n      schedulePerformWorkUntilDeadline = function () {\n        port.postMessage(null);\n      };\n    } else {\n      // We should only fallback here in non-browser environments.\n      schedulePerformWorkUntilDeadline = function () {\n        localSetTimeout(performWorkUntilDeadline, 0);\n      };\n    }\n    function requestHostCallback(callback) {\n      scheduledHostCallback = callback;\n      if (!isMessageLoopRunning) {\n        isMessageLoopRunning = true;\n        schedulePerformWorkUntilDeadline();\n      }\n    }\n    function requestHostTimeout(callback, ms) {\n      taskTimeoutID = localSetTimeout(function () {\n        callback(exports.unstable_now());\n      }, ms);\n    }\n    function cancelHostTimeout() {\n      localClearTimeout(taskTimeoutID);\n      taskTimeoutID = -1;\n    }\n    var unstable_requestPaint = requestPaint;\n    var unstable_Profiling = null;\n    exports.unstable_IdlePriority = IdlePriority;\n    exports.unstable_ImmediatePriority = ImmediatePriority;\n    exports.unstable_LowPriority = LowPriority;\n    exports.unstable_NormalPriority = NormalPriority;\n    exports.unstable_Profiling = unstable_Profiling;\n    exports.unstable_UserBlockingPriority = UserBlockingPriority;\n    exports.unstable_cancelCallback = unstable_cancelCallback;\n    exports.unstable_continueExecution = unstable_continueExecution;\n    exports.unstable_forceFrameRate = forceFrameRate;\n    exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\n    exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\n    exports.unstable_next = unstable_next;\n    exports.unstable_pauseExecution = unstable_pauseExecution;\n    exports.unstable_requestPaint = unstable_requestPaint;\n    exports.unstable_runWithPriority = unstable_runWithPriority;\n    exports.unstable_scheduleCallback = unstable_scheduleCallback;\n    exports.unstable_shouldYield = shouldYieldToHost;\n    exports.unstable_wrapCallback = unstable_wrapCallback;\n    /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n    if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop === 'function') {\n      __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n    }\n  })();\n}","map":{"version":3,"names":["process","env","NODE_ENV","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","Error","enableSchedulerDebugging","enableProfiling","frameYieldMs","push","heap","node","index","length","siftUp","peek","pop","first","last","siftDown","i","parentIndex","parent","compare","halfLength","leftIndex","left","rightIndex","right","a","b","diff","sortIndex","id","ImmediatePriority","UserBlockingPriority","NormalPriority","LowPriority","IdlePriority","markTaskErrored","task","ms","hasPerformanceNow","performance","now","localPerformance","exports","unstable_now","localDate","Date","initialTime","maxSigned31BitInt","IMMEDIATE_PRIORITY_TIMEOUT","USER_BLOCKING_PRIORITY_TIMEOUT","NORMAL_PRIORITY_TIMEOUT","LOW_PRIORITY_TIMEOUT","IDLE_PRIORITY_TIMEOUT","taskQueue","timerQueue","taskIdCounter","currentTask","currentPriorityLevel","isPerformingWork","isHostCallbackScheduled","isHostTimeoutScheduled","localSetTimeout","setTimeout","localClearTimeout","clearTimeout","localSetImmediate","setImmediate","isInputPending","navigator","scheduling","undefined","bind","advanceTimers","currentTime","timer","callback","startTime","expirationTime","handleTimeout","requestHostCallback","flushWork","firstTimer","requestHostTimeout","hasTimeRemaining","cancelHostTimeout","previousPriorityLevel","workLoop","error","isQueued","shouldYieldToHost","priorityLevel","didUserCallbackTimeout","continuationCallback","unstable_runWithPriority","eventHandler","unstable_next","unstable_wrapCallback","parentPriorityLevel","apply","arguments","unstable_scheduleCallback","options","delay","timeout","newTask","unstable_pauseExecution","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_cancelCallback","unstable_getCurrentPriorityLevel","isMessageLoopRunning","scheduledHostCallback","taskTimeoutID","frameInterval","timeElapsed","requestPaint","forceFrameRate","fps","console","Math","floor","performWorkUntilDeadline","hasMoreWork","schedulePerformWorkUntilDeadline","MessageChannel","channel","port","port2","port1","onmessage","postMessage","unstable_requestPaint","unstable_Profiling","unstable_IdlePriority","unstable_ImmediatePriority","unstable_LowPriority","unstable_NormalPriority","unstable_UserBlockingPriority","unstable_forceFrameRate","unstable_shouldYield","registerInternalModuleStop"],"sources":["/data/messenger.client/node_modules/scheduler/cjs/scheduler.development.js"],"sourcesContent":["/**\n * @license React\n * scheduler.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n\n          'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n          var enableSchedulerDebugging = false;\nvar enableProfiling = false;\nvar frameYieldMs = 5;\n\nfunction push(heap, node) {\n  var index = heap.length;\n  heap.push(node);\n  siftUp(heap, node, index);\n}\nfunction peek(heap) {\n  return heap.length === 0 ? null : heap[0];\n}\nfunction pop(heap) {\n  if (heap.length === 0) {\n    return null;\n  }\n\n  var first = heap[0];\n  var last = heap.pop();\n\n  if (last !== first) {\n    heap[0] = last;\n    siftDown(heap, last, 0);\n  }\n\n  return first;\n}\n\nfunction siftUp(heap, node, i) {\n  var index = i;\n\n  while (index > 0) {\n    var parentIndex = index - 1 >>> 1;\n    var parent = heap[parentIndex];\n\n    if (compare(parent, node) > 0) {\n      // The parent is larger. Swap positions.\n      heap[parentIndex] = node;\n      heap[index] = parent;\n      index = parentIndex;\n    } else {\n      // The parent is smaller. Exit.\n      return;\n    }\n  }\n}\n\nfunction siftDown(heap, node, i) {\n  var index = i;\n  var length = heap.length;\n  var halfLength = length >>> 1;\n\n  while (index < halfLength) {\n    var leftIndex = (index + 1) * 2 - 1;\n    var left = heap[leftIndex];\n    var rightIndex = leftIndex + 1;\n    var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\n\n    if (compare(left, node) < 0) {\n      if (rightIndex < length && compare(right, left) < 0) {\n        heap[index] = right;\n        heap[rightIndex] = node;\n        index = rightIndex;\n      } else {\n        heap[index] = left;\n        heap[leftIndex] = node;\n        index = leftIndex;\n      }\n    } else if (rightIndex < length && compare(right, node) < 0) {\n      heap[index] = right;\n      heap[rightIndex] = node;\n      index = rightIndex;\n    } else {\n      // Neither child is smaller. Exit.\n      return;\n    }\n  }\n}\n\nfunction compare(a, b) {\n  // Compare sort index first, then task id.\n  var diff = a.sortIndex - b.sortIndex;\n  return diff !== 0 ? diff : a.id - b.id;\n}\n\n// TODO: Use symbols?\nvar ImmediatePriority = 1;\nvar UserBlockingPriority = 2;\nvar NormalPriority = 3;\nvar LowPriority = 4;\nvar IdlePriority = 5;\n\nfunction markTaskErrored(task, ms) {\n}\n\n/* eslint-disable no-var */\n\nvar hasPerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';\n\nif (hasPerformanceNow) {\n  var localPerformance = performance;\n\n  exports.unstable_now = function () {\n    return localPerformance.now();\n  };\n} else {\n  var localDate = Date;\n  var initialTime = localDate.now();\n\n  exports.unstable_now = function () {\n    return localDate.now() - initialTime;\n  };\n} // Max 31 bit integer. The max integer size in V8 for 32-bit systems.\n// Math.pow(2, 30) - 1\n// 0b111111111111111111111111111111\n\n\nvar maxSigned31BitInt = 1073741823; // Times out immediately\n\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\n\nvar USER_BLOCKING_PRIORITY_TIMEOUT = 250;\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\n\nvar IDLE_PRIORITY_TIMEOUT = maxSigned31BitInt; // Tasks are stored on a min heap\n\nvar taskQueue = [];\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\n\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\nvar currentTask = null;\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrance.\n\nvar isPerformingWork = false;\nvar isHostCallbackScheduled = false;\nvar isHostTimeoutScheduled = false; // Capture local references to native APIs, in case a polyfill overrides them.\n\nvar localSetTimeout = typeof setTimeout === 'function' ? setTimeout : null;\nvar localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : null;\nvar localSetImmediate = typeof setImmediate !== 'undefined' ? setImmediate : null; // IE and Node.js + jsdom\n\nvar isInputPending = typeof navigator !== 'undefined' && navigator.scheduling !== undefined && navigator.scheduling.isInputPending !== undefined ? navigator.scheduling.isInputPending.bind(navigator.scheduling) : null;\n\nfunction advanceTimers(currentTime) {\n  // Check for tasks that are no longer delayed and add them to the queue.\n  var timer = peek(timerQueue);\n\n  while (timer !== null) {\n    if (timer.callback === null) {\n      // Timer was cancelled.\n      pop(timerQueue);\n    } else if (timer.startTime <= currentTime) {\n      // Timer fired. Transfer to the task queue.\n      pop(timerQueue);\n      timer.sortIndex = timer.expirationTime;\n      push(taskQueue, timer);\n    } else {\n      // Remaining timers are pending.\n      return;\n    }\n\n    timer = peek(timerQueue);\n  }\n}\n\nfunction handleTimeout(currentTime) {\n  isHostTimeoutScheduled = false;\n  advanceTimers(currentTime);\n\n  if (!isHostCallbackScheduled) {\n    if (peek(taskQueue) !== null) {\n      isHostCallbackScheduled = true;\n      requestHostCallback(flushWork);\n    } else {\n      var firstTimer = peek(timerQueue);\n\n      if (firstTimer !== null) {\n        requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n      }\n    }\n  }\n}\n\nfunction flushWork(hasTimeRemaining, initialTime) {\n\n\n  isHostCallbackScheduled = false;\n\n  if (isHostTimeoutScheduled) {\n    // We scheduled a timeout but it's no longer needed. Cancel it.\n    isHostTimeoutScheduled = false;\n    cancelHostTimeout();\n  }\n\n  isPerformingWork = true;\n  var previousPriorityLevel = currentPriorityLevel;\n\n  try {\n    if (enableProfiling) {\n      try {\n        return workLoop(hasTimeRemaining, initialTime);\n      } catch (error) {\n        if (currentTask !== null) {\n          var currentTime = exports.unstable_now();\n          markTaskErrored(currentTask, currentTime);\n          currentTask.isQueued = false;\n        }\n\n        throw error;\n      }\n    } else {\n      // No catch in prod code path.\n      return workLoop(hasTimeRemaining, initialTime);\n    }\n  } finally {\n    currentTask = null;\n    currentPriorityLevel = previousPriorityLevel;\n    isPerformingWork = false;\n  }\n}\n\nfunction workLoop(hasTimeRemaining, initialTime) {\n  var currentTime = initialTime;\n  advanceTimers(currentTime);\n  currentTask = peek(taskQueue);\n\n  while (currentTask !== null && !(enableSchedulerDebugging )) {\n    if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n      // This currentTask hasn't expired, and we've reached the deadline.\n      break;\n    }\n\n    var callback = currentTask.callback;\n\n    if (typeof callback === 'function') {\n      currentTask.callback = null;\n      currentPriorityLevel = currentTask.priorityLevel;\n      var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n\n      var continuationCallback = callback(didUserCallbackTimeout);\n      currentTime = exports.unstable_now();\n\n      if (typeof continuationCallback === 'function') {\n        currentTask.callback = continuationCallback;\n      } else {\n\n        if (currentTask === peek(taskQueue)) {\n          pop(taskQueue);\n        }\n      }\n\n      advanceTimers(currentTime);\n    } else {\n      pop(taskQueue);\n    }\n\n    currentTask = peek(taskQueue);\n  } // Return whether there's additional work\n\n\n  if (currentTask !== null) {\n    return true;\n  } else {\n    var firstTimer = peek(timerQueue);\n\n    if (firstTimer !== null) {\n      requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n    }\n\n    return false;\n  }\n}\n\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\n  switch (priorityLevel) {\n    case ImmediatePriority:\n    case UserBlockingPriority:\n    case NormalPriority:\n    case LowPriority:\n    case IdlePriority:\n      break;\n\n    default:\n      priorityLevel = NormalPriority;\n  }\n\n  var previousPriorityLevel = currentPriorityLevel;\n  currentPriorityLevel = priorityLevel;\n\n  try {\n    return eventHandler();\n  } finally {\n    currentPriorityLevel = previousPriorityLevel;\n  }\n}\n\nfunction unstable_next(eventHandler) {\n  var priorityLevel;\n\n  switch (currentPriorityLevel) {\n    case ImmediatePriority:\n    case UserBlockingPriority:\n    case NormalPriority:\n      // Shift down to normal priority\n      priorityLevel = NormalPriority;\n      break;\n\n    default:\n      // Anything lower than normal priority should remain at the current level.\n      priorityLevel = currentPriorityLevel;\n      break;\n  }\n\n  var previousPriorityLevel = currentPriorityLevel;\n  currentPriorityLevel = priorityLevel;\n\n  try {\n    return eventHandler();\n  } finally {\n    currentPriorityLevel = previousPriorityLevel;\n  }\n}\n\nfunction unstable_wrapCallback(callback) {\n  var parentPriorityLevel = currentPriorityLevel;\n  return function () {\n    // This is a fork of runWithPriority, inlined for performance.\n    var previousPriorityLevel = currentPriorityLevel;\n    currentPriorityLevel = parentPriorityLevel;\n\n    try {\n      return callback.apply(this, arguments);\n    } finally {\n      currentPriorityLevel = previousPriorityLevel;\n    }\n  };\n}\n\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\n  var currentTime = exports.unstable_now();\n  var startTime;\n\n  if (typeof options === 'object' && options !== null) {\n    var delay = options.delay;\n\n    if (typeof delay === 'number' && delay > 0) {\n      startTime = currentTime + delay;\n    } else {\n      startTime = currentTime;\n    }\n  } else {\n    startTime = currentTime;\n  }\n\n  var timeout;\n\n  switch (priorityLevel) {\n    case ImmediatePriority:\n      timeout = IMMEDIATE_PRIORITY_TIMEOUT;\n      break;\n\n    case UserBlockingPriority:\n      timeout = USER_BLOCKING_PRIORITY_TIMEOUT;\n      break;\n\n    case IdlePriority:\n      timeout = IDLE_PRIORITY_TIMEOUT;\n      break;\n\n    case LowPriority:\n      timeout = LOW_PRIORITY_TIMEOUT;\n      break;\n\n    case NormalPriority:\n    default:\n      timeout = NORMAL_PRIORITY_TIMEOUT;\n      break;\n  }\n\n  var expirationTime = startTime + timeout;\n  var newTask = {\n    id: taskIdCounter++,\n    callback: callback,\n    priorityLevel: priorityLevel,\n    startTime: startTime,\n    expirationTime: expirationTime,\n    sortIndex: -1\n  };\n\n  if (startTime > currentTime) {\n    // This is a delayed task.\n    newTask.sortIndex = startTime;\n    push(timerQueue, newTask);\n\n    if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\n      // All tasks are delayed, and this is the task with the earliest delay.\n      if (isHostTimeoutScheduled) {\n        // Cancel an existing timeout.\n        cancelHostTimeout();\n      } else {\n        isHostTimeoutScheduled = true;\n      } // Schedule a timeout.\n\n\n      requestHostTimeout(handleTimeout, startTime - currentTime);\n    }\n  } else {\n    newTask.sortIndex = expirationTime;\n    push(taskQueue, newTask);\n    // wait until the next time we yield.\n\n\n    if (!isHostCallbackScheduled && !isPerformingWork) {\n      isHostCallbackScheduled = true;\n      requestHostCallback(flushWork);\n    }\n  }\n\n  return newTask;\n}\n\nfunction unstable_pauseExecution() {\n}\n\nfunction unstable_continueExecution() {\n\n  if (!isHostCallbackScheduled && !isPerformingWork) {\n    isHostCallbackScheduled = true;\n    requestHostCallback(flushWork);\n  }\n}\n\nfunction unstable_getFirstCallbackNode() {\n  return peek(taskQueue);\n}\n\nfunction unstable_cancelCallback(task) {\n  // remove from the queue because you can't remove arbitrary nodes from an\n  // array based heap, only the first one.)\n\n\n  task.callback = null;\n}\n\nfunction unstable_getCurrentPriorityLevel() {\n  return currentPriorityLevel;\n}\n\nvar isMessageLoopRunning = false;\nvar scheduledHostCallback = null;\nvar taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\n// thread, like user events. By default, it yields multiple times per frame.\n// It does not attempt to align with frame boundaries, since most tasks don't\n// need to be frame aligned; for those that do, use requestAnimationFrame.\n\nvar frameInterval = frameYieldMs;\nvar startTime = -1;\n\nfunction shouldYieldToHost() {\n  var timeElapsed = exports.unstable_now() - startTime;\n\n  if (timeElapsed < frameInterval) {\n    // The main thread has only been blocked for a really short amount of time;\n    // smaller than a single frame. Don't yield yet.\n    return false;\n  } // The main thread has been blocked for a non-negligible amount of time. We\n\n\n  return true;\n}\n\nfunction requestPaint() {\n\n}\n\nfunction forceFrameRate(fps) {\n  if (fps < 0 || fps > 125) {\n    // Using console['error'] to evade Babel and ESLint\n    console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing frame rates higher than 125 fps is not supported');\n    return;\n  }\n\n  if (fps > 0) {\n    frameInterval = Math.floor(1000 / fps);\n  } else {\n    // reset the framerate\n    frameInterval = frameYieldMs;\n  }\n}\n\nvar performWorkUntilDeadline = function () {\n  if (scheduledHostCallback !== null) {\n    var currentTime = exports.unstable_now(); // Keep track of the start time so we can measure how long the main thread\n    // has been blocked.\n\n    startTime = currentTime;\n    var hasTimeRemaining = true; // If a scheduler task throws, exit the current browser task so the\n    // error can be observed.\n    //\n    // Intentionally not using a try-catch, since that makes some debugging\n    // techniques harder. Instead, if `scheduledHostCallback` errors, then\n    // `hasMoreWork` will remain true, and we'll continue the work loop.\n\n    var hasMoreWork = true;\n\n    try {\n      hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\n    } finally {\n      if (hasMoreWork) {\n        // If there's more work, schedule the next message event at the end\n        // of the preceding one.\n        schedulePerformWorkUntilDeadline();\n      } else {\n        isMessageLoopRunning = false;\n        scheduledHostCallback = null;\n      }\n    }\n  } else {\n    isMessageLoopRunning = false;\n  } // Yielding to the browser will give it a chance to paint, so we can\n};\n\nvar schedulePerformWorkUntilDeadline;\n\nif (typeof localSetImmediate === 'function') {\n  // Node.js and old IE.\n  // There's a few reasons for why we prefer setImmediate.\n  //\n  // Unlike MessageChannel, it doesn't prevent a Node.js process from exiting.\n  // (Even though this is a DOM fork of the Scheduler, you could get here\n  // with a mix of Node.js 15+, which has a MessageChannel, and jsdom.)\n  // https://github.com/facebook/react/issues/20756\n  //\n  // But also, it runs earlier which is the semantic we want.\n  // If other browsers ever implement it, it's better to use it.\n  // Although both of these would be inferior to native scheduling.\n  schedulePerformWorkUntilDeadline = function () {\n    localSetImmediate(performWorkUntilDeadline);\n  };\n} else if (typeof MessageChannel !== 'undefined') {\n  // DOM and Worker environments.\n  // We prefer MessageChannel because of the 4ms setTimeout clamping.\n  var channel = new MessageChannel();\n  var port = channel.port2;\n  channel.port1.onmessage = performWorkUntilDeadline;\n\n  schedulePerformWorkUntilDeadline = function () {\n    port.postMessage(null);\n  };\n} else {\n  // We should only fallback here in non-browser environments.\n  schedulePerformWorkUntilDeadline = function () {\n    localSetTimeout(performWorkUntilDeadline, 0);\n  };\n}\n\nfunction requestHostCallback(callback) {\n  scheduledHostCallback = callback;\n\n  if (!isMessageLoopRunning) {\n    isMessageLoopRunning = true;\n    schedulePerformWorkUntilDeadline();\n  }\n}\n\nfunction requestHostTimeout(callback, ms) {\n  taskTimeoutID = localSetTimeout(function () {\n    callback(exports.unstable_now());\n  }, ms);\n}\n\nfunction cancelHostTimeout() {\n  localClearTimeout(taskTimeoutID);\n  taskTimeoutID = -1;\n}\n\nvar unstable_requestPaint = requestPaint;\nvar unstable_Profiling =  null;\n\nexports.unstable_IdlePriority = IdlePriority;\nexports.unstable_ImmediatePriority = ImmediatePriority;\nexports.unstable_LowPriority = LowPriority;\nexports.unstable_NormalPriority = NormalPriority;\nexports.unstable_Profiling = unstable_Profiling;\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = unstable_continueExecution;\nexports.unstable_forceFrameRate = forceFrameRate;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\nexports.unstable_next = unstable_next;\nexports.unstable_pauseExecution = unstable_pauseExecution;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = unstable_runWithPriority;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = unstable_wrapCallback;\n          /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n  typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n    'function'\n) {\n  __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n        \n  })();\n}\n"],"mappings":"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"},"metadata":{},"sourceType":"script"}